package com.elitel.frame.base.service;

import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import com.elitel.frame.main.entity.CfgExtreport;
import com.elitel.frame.main.entity.SysPrjservice;
import com.elitel.frame.main.entity.ext.CfgExtreportExt;

public interface CfgExtreportService {
	
	/**
	 * <pre>getReportConfigByGuid(根据主键配置报表信息)   
	 * @author：FanWenquan    
	 * @date：2018年1月5日 下午4:57:19   
	 * @param guid
	 * @return</pre>
	 */
	CfgExtreport getReportConfigByGuid(String guid);
	
	/**
	 * <pre>insertCfgExtreport(添加报表配置信息)   
	 * @author：FanWenquan    
	 * @date：2018年1月5日 下午4:57:25   
	 * @param cfgExtreport
	 * @return</pre>
	 */
	Integer insertCfgExtreport(CfgExtreportExt cfgExtreportext);
	/**
	 * <pre>deleteCfgExtreport(删除报表配置信息)   
	 * @author：FanWenquan    
	 * @date：2018年1月5日 下午4:57:29   
	 * @param guid
	 * @return</pre>
	 */
	Integer deleteCfgExtreport(String guid);
	/**
	 * <pre>updateCfgExtreport(修改报表配置信息)   
	 * @author：FanWenquan    
	 * @date：2018年1月5日 下午4:57:32   
	 * @param cfgExtreport
	 * @return</pre>
	 */
	Integer updateCfgExtreport(CfgExtreport cfgExtreport);
	
	/**
	 * <pre>deleteReportServerByPrjservice(删除报表服务所有相关信息)   
	 * @author：FanWenquan    
	 * @date：2018年1月8日 下午2:01:35   
	 * @param prjservice
	 * @return</pre>
	 */
	void deleteReportServerByPrjservice(SysPrjservice prjservice) throws Exception;
	
	/**
	 * <pre>getReportConfigInformationByGuid(根据主键获取报表服务相关信息)   
	 * @author：FanWenquan    
	 * @date：2018年2月6日 上午10:24:11   
	 * @param guid
	 * @return</pre>
	 */
	CfgExtreportExt getReportConfigInformationByGuid(String guid);
	
	/**
	 * <pre>insertReportAllConfig(添加报表服务整体配置)   
	 * @author：FanWenquan    
	 * @date：2018年2月9日 下午1:27:55   
	 * @param httpServletRequest
	 * @return</pre>
	 */
	int insertReportAllConfig(HttpServletRequest httpServletRequest);
	
	/**
	 * <pre>updateReportAllConfig(修改报表服务整体配置)   
	 * @author：FanWenquan    
	 * @date：2018年2月9日 下午1:28:16   
	 * @param httpServletRequest
	 * @return</pre>
	 */
	int updateReportAllConfig(HttpServletRequest httpServletRequest);
	
	/**
	 * <pre>queryReportQueryParams(获取报表服务的条件字段)
	 * @author：FanWenquan    
	 * @date：2018年2月27日 下午3:41:05   
	 * @param serviceID
	 * @return</pre>
	 */
	List<Map<String, String>> queryReportQueryParams(String serviceID);

}
